{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "095b0666",
   "metadata": {},
   "source": [
    "# Example 11: Encouraging linearity\n",
    "\n",
    "In cases where we don't know how deep we should set KANs to be, one strategy is to try from small models, grudually making models wider/deeper until we find the minimal model that performs the task quite well. Another strategy is to start from a big enough model and prune it down. This jupyter notebook demonstrates cases where we go for the second strategy. Besides sparsity along width, we also want activation functions to be linear ('shortcut' along depth)."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ef047a0f",
   "metadata": {},
   "source": [
    "There are two relevant tricks: \n",
    "\n",
    "(1) set the base function 'base_fun' to be linear; \n",
    "\n",
    "(2) penalize spline coefficients. When spline coefficients are zero, the activation function is linear."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "91301ca0",
   "metadata": {},
   "source": [
    "### Case 1: 1D function \n",
    "\n",
    "$f(x)={\\rm sin}(\\pi x)$. Although we know a [1,1] KAN suffices, we suppose we don't know that and use a [1,1,1,1] KAN instead."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "77f9e16d",
   "metadata": {},
   "source": [
    "without trick"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "c881665b",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "train loss: 7.51e-04 | test loss: 7.58e-04 | reg: 8.53e+00 : 100%|██| 20/20 [00:05<00:00,  3.81it/s]\n"
     ]
    }
   ],
   "source": [
    "from kan import *\n",
    "\n",
    "# create dataset f(x,y) = sin(pi*x). This task can be achieved by a [1,1] KAN\n",
    "f = lambda x: torch.sin(torch.pi*x[:,[0]])\n",
    "dataset = create_dataset(f, n_var=1)\n",
    "\n",
    "model = KAN(width=[1,1,1,1], grid=5, k=3, seed=0)\n",
    "\n",
    "model.fit(dataset, opt=\"LBFGS\", steps=20);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "201ceacf",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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HGrRooX+9Kc/6fXXX1fz5s31+eefa8SIEfrhhx8IDGAj4oKg4/V6tWDBApWVlalnz5666667TttXcblcuu+++7RgwQJFRUVp+/btevDBB3Xo0CECA9iEuCDofPfdd9qwYYMcDofGjh2r8PDwX3yOw+HQoEGD9PrrrysiIkKbN2/W+PHj5fF4CAxgA+KCoPPxxx/rp59+UocOHXTLLbf86tlgDodD9957r2bMmKGwsDBlZmbqqaeeUllZWT1PDAQf4oKgUlZWpo8//liSdMstt6h169bn/Hyn06nRo0frySeflMPh0J///GelpaWpsrKyPsYFghZxQVA5dOiQfvjhB7lcLt1+++01uoYlJCREKSkpGjFihCorKzV9+nR9+OGHHB4DaoG4IKhcdtllWr16tebPn69evXrV+AJJt9utV155RTfffLOKi4s1adIk7dy5k8AAF4m4IKi4XC5dffXVevDBBxUVFVXj51mWpdatW+vNN99UbGyscnNz9cgjj+jo0aMEBrgIxAVBybKsC35bF8uydNVVVyktLU2RkZHasmWLpkyZwgY/cBGIC1CNZVn6wx/+oKlTp8rlcmnZsmXKyMjgTSSBC0RcgDM4nU498sgjGjx4sCoqKvT8889r48aNHB4DLgBxAc7i1Ab/ddddp4KCAiUnJ2v//v0EBqgh4gKchWVZat++vV5//XW1adNGu3bt0uTJk1VcXOzv0YAGgbgAv8KyLPXo0UPTp09XkyZN9Le//U2vvvqqvF6vv0cDAh5xAc7B4XDovvvu05gxY2SM0ezZs/XRRx9xeAw4D+ICnEdISIief/55/f73v6+6wPLrr78mMMA5EBfgPCzLUosWLZSenq5/+qd/Um5ursaPH68jR44QGOBXEBegBizLUufOnZWWlqaIiAh99tlnevLJJ1VaWurv0YCARFyAGrIsS7feequmTZsml8ul9957T7Nnz2aDHzgL4gJcAKfTqUcffVSjRo2Sz+fTzJkz9f7773MFP3AG4gJcoNDQUL388svq16+fSkpKNGnSJG3YsIH9F6Aa4gJcIMuy1LJlS82fP19XX321jh07prFjx/IW/UA1xAW4CJZlKTY2VosWLdJll12mffv26YEHHtD3339PYAARF+CiWZal7t27a+HChWrdurW+/vprjRo1Sjk5OQQGjR5xAWrBsiwlJCTojTfeUPPm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\n",
      "text/plain": [
       "<Figure size 500x600 with 7 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "model.plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "13c725a5",
   "metadata": {},
   "source": [
    "with tricks"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "a22ffff3",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "train loss: 6.30e-03 | test loss: 5.94e-03 | reg: 1.49e+01 : 100%|██| 20/20 [00:05<00:00,  3.70it/s]\n"
     ]
    }
   ],
   "source": [
    "from kan import *\n",
    "\n",
    "# create dataset f(x,y) = sin(pi*x). This task can be achieved by a [1,1] KAN\n",
    "f = lambda x: torch.sin(torch.pi*x[:,[0]])\n",
    "dataset = create_dataset(f, n_var=1)\n",
    "\n",
    "# set base_fun to be linear\n",
    "model = KAN(width=[1,1,1,1], grid=5, k=3, seed=0, base_fun=lambda x: x)\n",
    "\n",
    "# penality spline coefficients\n",
    "model.fit(dataset, opt=\"LBFGS\", steps=20, lamb=1e-4, lamb_coef=10.0);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "c82c8db5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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M4wxuvvuu7V06VJde+212r9/vxITE7Vp0yYCA1wh4gKUY4xR165dtXTpUrVp00ZZWVkaOnSo/v73vxMY4AoQF+A8xhjdeeedWrZsmWJjY5Wdna1hw4Zpw4YNBAaoIOICXIAxRrfffruWLVumuLg4HTp0SMOGDdNHH31EYIAKIC7ARRhj1KlTJy1btkw33HCDfvjhBz344INas2YNgQEug7gAl2CM0a233qrly5erXbt2Onz4sJKSkpSRkSHLsnw9HlBjERfgMowxuuWWW7R8+XLddNNNOnr0qB566CG9//77BAa4COICVIAxRjfffLOWL1+un/3sZzp27JgefvhhvfPOOwQGuADiAlSQMUbt27fXihUr1KFDB504cUKjRo3SW2+9RWCA8xAX4AoYY3TDDTdo+fLl6tSpk3Jzc/Xoo49q+fLlBAYoh7gAV8gYo7i4OC1btky33367PB6PxowZoyVLlhAY4AziAlSCMUaxsbFatmyZ7rzzTv34448aO3as3njjDZWWlvp6PMDniAtQScYYtWnTRkuXLtVdd92lkydP6rHHHtPChQsJDOo84gJUgTFG1157rZYsWaK7775b+fn5euKJJ7RgwQICgzqNuABVZIzRNddco7/+9a/q1q2b8vPzNX78eM2dO1der9fX4wE+QVwABxhj1KpVK7355pu65557VFBQoN/+9rf6y1/+QmBQJxEXwCHGGLVo0UJvvvmmfvnLX6qwsFApKSl67bXXCAzqHOICOMgYo2bNmmnx4sW69957VVRUpEmTJiktLU0lJSW+Hg+4aogL4DBjjJo2bapFixapd+/eKi4u1jPPPKNp06YRGNQZxAWoBsYYRUdHKz09XX379tXp06f1hz/8Qa+88opOnz7t6/GAakdcgGpijFHjxo21YMEC9evXT6dPn9YLL7ygyZMnExj4PeICVCNjjBo2bKjXX39dAwYMUElJiV566SW99NJLKi4u9vV4QLUhLkA1M8aoQYMGmjNnjgYNGqSSkhK9/PLLeuGFF3Tq1ClfjwdUC+ICXAXGGEVFRWn27NkaMmSIvF6vXnnlFf2///f/CAz8EnEBrhJjjCIjIzVr1iwNHz5clmXp1Vdf1e9//3sVFRX5ejzAUcQFuIqMMapfv75mzpypESNGyLIspaam6ne/+50KCwt9PR7gGOICXGXGGEVERCg1NVUjR46U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hg3KyspSVFSU7r///iu6KWX9+vX1wAMPSJLef/99v7mdP3A1EBf4rdLSUq1YsUKWZemuu+5SbGzsFR1vjNGvfvUrhYeHa+/evfrHP/7BqTGggogL/Nb+/fu1adMmuVwuDRw4sFJ3Om7Xrp06deokr9ert956i7gAFURc4Jds29aHH36oEydOqFmzZurRo0elvqclKCio7NTYhg0bdOTIEadHBfwScYFfKi4uLltp9OjRQ82aNavU6xhjdO+99yoqKkqHDh3ibslABREX+KVvv/1W27dvV0BAgAYOHFil72Zp06aN7rjjDlmWpXfeeYdviAQqgLjA79i2rXfffVf5+fmKiYk55+7HlREQEFB2pdknn3zCqTGgAogL/E5eXp7effddSVLv3r3VoEGDKr2eMUbx8fGKiopSTk6ONm/ezKkx4DKIC/zO559/ru+++04hISEaMGCAI6953XXX6bbbbpNlWVq1ahVxAS6DuMCvWJal5cuX6/Tp07rlllvUoUOHKp0SOyswMFB9+/aVJH3yySc6evRolV/zfLZtEy34DeICv/LDDz/oww8/lPSf272EhoY68rrGGP3yl79UZGSkDh06pE8//dTRENi2ra1bt2rJkiU6fPiwY68L+ApxgV8JDAzUkCFDdMcdd1zx7V4uJyYmRh07dlRpaanee+89R+NiWZbS0tL04IMPaty4cfJ6vY69NuALxAV+JTo6WlOmTNGGDRsUExPj6GuXPzW2ceNGHTt2zLHXzsrK0rp168o+l1OZuwkANQlxgd8xxqhevXpV+mzLxV43ISFBERERys7O1pYtWxxZvZy9m8DRo0fVpEkT9erVy4FpAd8iLsAVaNu2rTp06KDS0lLHrho7ffr0OXcTaNWqlQOTAr5FXIArEBQUpD59+kj6z6mxEydOVPk1d+3apa1bt8rtdlf5bgJATcHfYuAKnL3XWHh4uA4cOKCtW7dWafVi27bee+895eXl6brrrtPPf/5zB6cFfIe4AFfo+uuv1y233CKv16t33323SnEpKCjQO++8I0m677771LBhQ6fGBHyKuABXKDg4uOyqsXXr1lX61Jht29q5c6f+9a9/KTg42LG7CQA1AXEBrpAxRr1791ZERIT2799fpW+oXLlypYqLi9W+fXt17NjR0c/lAL5EXIBKuP7663XbbbeptLRU//M//1Op2/CfOHFC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\n",
      "text/plain": [
       "<Figure size 500x600 with 7 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "model.plot(beta=10)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "af370a4c",
   "metadata": {},
   "source": [
    "### Case 2: 2D function \n",
    "\n",
    "$f(x,y)={\\rm exp}({\\rm sin}(\\pi x)+y^2)$.  We know a [2,1,1] KAN represents it. Let's suppose we don't know about that and use a [2,3,3,3,1] KAN instead."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fdba8357",
   "metadata": {},
   "source": [
    "without tricks"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "5920bdaf",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "train loss: 2.89e-02 | test loss: 5.20e-02 | reg: 6.29e+00 : 100%|██| 20/20 [00:15<00:00,  1.28it/s]\n"
     ]
    }
   ],
   "source": [
    "# create dataset f(x,y) = exp(sin(pi*x)+y^2)\n",
    "f = lambda x: torch.exp(torch.sin(torch.pi*x[:,[0]]) + x[:,[1]]**2)\n",
    "dataset = create_dataset(f, n_var=2)\n",
    "\n",
    "model = KAN(width=[2,3,3,3,1], grid=5, k=3, seed=0)\n",
    "model.fit(dataset, opt=\"LBFGS\", steps=20, lamb=0.01);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "26af5d19",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 500x800 with 38 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "model.plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "b0316bee",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 500x800 with 10 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "model = model.prune(node_th=1e-1)\n",
    "model.plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ca1c5e86",
   "metadata": {},
   "source": [
    "with tricks"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "1f82e8c0",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "train loss: 6.97e-02 | test loss: 7.00e-02 | reg: 1.72e+01 : 100%|██| 20/20 [00:07<00:00,  2.69it/s]\n"
     ]
    }
   ],
   "source": [
    "model.fit(dataset, opt=\"LBFGS\", steps=20, lamb=0.01, lamb_l1=0., lamb_entropy=0., lamb_coef=2.0);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "e09861b6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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27cPL730Es8eI7IjxoWaBCEEhg4discee8x277GNGzdy74XIThgXajL0ej0effRRDB8+HBUVFXjyySd57zEiO2FcqEnx9fXFokWL0Lp1a2RmZmLu3Lkwm81aj0XkchgXalKEEOjVqxeef/55uLm54ZtvvsHbb7/Nh3MRqYxxoSZHCIGJEydiwoQJsFqtePnll7Ft2zYeHiNSEeNCTZKHhwdefPFF9OzZE0VFRZg1axays7MZGCKVMC7UJAkh0KZNGyxevBgBAQHYv38/5s2bh8rKSq1HI3IJjAs1WUII3HTTTXjqqadgMBjw+eefc/2FSCWMCzVpOp0O06ZNw9133w2LxYIXX3yRt4chUgHjQk2ep6cnFi5ciIiICJhMJjz66KP4/fffGRiiBmBcqMmrXX9Zvnw5goKCcOTIETz22GMoKSnRejQip8W4EOF/gRk4cCBeeukleHh4YPPmzXjppZdQU1Oj9WhETolxITpPp9Phvvvus92e/4033sB7773HBX6ia8C4ENXh5uaGZ555Bn/7299QVVWFJ598Et9//z3XX4iuEuNCVIcQAn5+fli+fDl69eqFoqIiTJ8+HWlpaQwM0VVgXIguIoRAhw4dsHr1arRv3x6nTp3CAw88gMOHDzMwRPXEuBBdghACvXv3xqpVqxAUFITDhw/jvvvuw9GjRxkYonpgXIj+ghACUVFReOuttxAQEICMjAxMmDABBw8eZGCIroBxIboMnU6HMWPGYMWKFWjevDn279+PcePGYceOHQwM0WUwLkRXoNPpMHbsWLz77rto3bo1jh8/jnvuuQefffYZLBaL1uMROSTGhagedDodRo8ejY8//hhhYWHIzc3F5MmT8Z///AelpaXciyG6CONCVE9CCNx444348ssvMWzYMFRUVGDBggWYOHEijh8/zsAQ1cG4EF0FIQS6du2Kzz77DA899BAMBgO+/fZb3Hrrrfjss89QXV3NyBCBcSG6akIIBAYGYvHixXjrrbcQHByM33//Hf/85z8RFxeHnJwcBoaaPMaF6BoIIeDh4YH7778fCQkJuOWWW1BdXY3Vq1fj1ltvxffffw+r1ar1mESaYVyIGkAIgZ49e+Kzzz7D888/j4CAABw4cAD33HMPXnzxRS72U5PFuBA1kBACvr6+mDdvHr766iv0798fZWVlePHFFzFp0iScOnWKgaEm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\n",
      "text/plain": [
       "<Figure size 500x800 with 10 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "model.plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e3c92b0d",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
